<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
    margin: 0;
    padding: 0;
}
.wrap{
    width: 2000px;
    height: 2000px;
    background-color: lightblue;
    padding-top: 50px;
}
.box{
    width: 600px;
    height: 300px;
    background-color: lightgreen;
    margin: 0 auto;
    /* overflow: hidden; */
    overflow: auto;
}
.child{
    width: 1200px;
    height: 600px;
    background-color: lightpink;
}
.btn{
    position: fixed;
    right: 0;
    bottom: 50px;
    display: none;
}
</style>
</head>
<body>
    
<div class="wrap">
    <div class="box">
        <div class="child">scroll 事件(高频触发事件)，滚动条改变时触发（包括水平方向和垂直方向，包括滚轮改变和拖动改变）</div>
    </div>
</div>

<button class="btn">返回顶部</button>

<script>
// 滚动条：内容大于容器，就可以出现滚动条
// 整个页面的滚动条：内容大于可视区就会自动显示滚动条

// scroll 事件(高频触发事件)，滚动条改变时触发（包括水平方向和垂直方向，包括滚轮改变和拖动改变）
// scrollTop 垂直滚动条滚动的距离
// scrollLeft 水平滚动条滚动的距离

var box = document.querySelector('.box');
var btn = document.querySelector('.btn');

// 监听整个页面滚动条改变
window.onscroll = function (){
    // console.log( '页面滚动条改变了。。。' );

    // 整个页面的滚动条是哪个元素的？
    // console.log( window.scrollTop );// undefined
    // console.log( document.scrollTop );// undefined
    // console.log( document.documentElement.scrollTop );// 98
    // console.log( document.body.scrollTop );// 0

    if (document.documentElement.scrollTop >= 600) {
        btn.style.display = 'block';
    } else{
        btn.style.display = 'none';
    }
}

// 监听某个元素的滚动条改变
box.onscroll = function (){
    console.log( 'box的滚动条改变了。。。' );
    console.log( box.scrollLeft, box.scrollTop )
}


// 返回顶部
btn.onclick = function (){
    document.documentElement.scrollTop = 0;
}


// 实用滚动条来实现选项卡切换效果？

</script>
</body>
</html>